// 变量声明

///var 声明    typeScript 里  var 声明的变量只能 声明一次  且一次确定类型后，就不能改变类型了  
//var 会使变量提升，提升到function 顶部  
var i = 0;

var s = '你好啊';

/// let 声明   let 声明存在暂时性死区  不会导致变量提升，在let 之前 调用该属性，会报错

let ii = 2;

ii = 21;


/// const 声明  与 let 一样存在暂时性死区，与let 不同的是 const 声明的变量只可声明一次  不可后续改变其对象

const ss = 2



/// 解构赋值

//  解构 

let arr1: number[] = [2, 3, 4, 5, 6]

let [one, two] = arr1  // 等价于  one = arr1[1]   two = arr1[2]

console.log(one) // 输出 2  
console.log(two) // 输出 3

//  扩展运算符

let [three, ...rest] = arr1

console.log(three)  // 输出 2
console.log(rest)   // 输出 [3,4,5,6]

// 如果你想这么玩也是可以的，只要不怕被打
let [, second, , fourth] = [1, 2, 3, 4];


